1. Field of the Invention
This invention relates to computer representation of data and, more particularly, to conversion of text-based data representations into numerical, binary representations.
2. Description of the Related Art
Graphic artists, illustrators, and other multimedia content providers have been using computer graphics and audio techniques to provide computer users with increasingly refined presentations and, more recently, have begun to provide three-dimensional (3D) graphics and multimedia works. Such presentations and multimedia works may be represented by data in one or more files, in a variety of formats such as video, graphical, and audio data formats. Typically, a relatively large amount of data is needed to satisfactorily represent 3D or multimedia works, resulting in large data files. Content providers must be cognizant of the size of these data files, due to the impact of large file size on data storage requirements and on the transfer of data over a network such as the Internet.
Although advances in data storage technology have been made to facilitate storage of larger files, such as disk drives with higher storage densities, it is still advantageous to reduce the amount of data storage required for any works or documents, thereby allowing more works and documents to be stored on a given storage device. In addition, even though data networks have been constructed to support faster file transfer speeds, the rate at which data files are growing in size is still outpacing the rate at which the file transfer speeds are increasing. Consequently, to control the size of data files, multimedia content providers may be forced to use smaller 3D graphics and multimedia files, with lower presentation quality, to permit compact storage of files and efficient transfer of the files across networks.
The data storage and network constraints described above are not acceptable for applications where large 3D graphics and multimedia data files must be stored and transferred. Therefore, conversion of 3D and multimedia data files into a more efficient, smaller, data file is desirable.
A data file that specifies a hierarchy of nodes is processed such that a range of values assumed by node parameters is determined. The hierarchy of nodes includes a grouping, or parent, node that is followed by children nodes, where the nodes are specified by the data file. The processing includes determining a quantization parameter that indicates the number of bits that will be used to represent the value range of desired parameters for each node. To begin, the data file is first processed by examining each node in the hierarchy and determining if a change in quantization for a node parameter is desired. If so, a quantization parameter with the desired value is inserted into the hierarchy at the node, producing a quantized hierarchy. Then the quantized hierarchy is reviewed, examining the quantization parameter at each node of the hierarchy and determining if one or more quantization parameters at a child node of the node being examined can be subsumed under the quantization parameter of the examined node without detrimental affect to the representation of the node parameters. If the child quantization parameter can be subsumed, then the child node quantization parameter is deleted from the quantized hierarchy. In this way, the processed hierarchy occupies fewer data bits, without sacrificing presentation quality.
The techniques in accordance with the invention may be applied to data files representing scene graphs of command files that describe virtual worlds, and also to animation files. The determination of quantization parameters may be performed according to a desired performance parameter, such as, an acceptable distortion level in the resulting scene or an acceptable, or achievable, data rate. The value indicating an acceptable distortion level may be received from a user, or may be a predetermined value, or may be calculated in response to the node parameter being represented. The data rate may be received from a user, may be a predetermined value, or may be calculated in response to the node parameter being represented.
Other features and advantages of the present invention should be apparent from the following description of the preferred embodiments, which illustrate, by way of example, the principles of the invention.